package com.hongxin.nw.netty.mq_info.domain;

import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * 充电桩开始充电命令
 * 充电桩开始充电是发送告诉服务器订单已生成
 * 用户启动充电成功订单已生成后发送（只发送1次）
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CMD108 {

    /**
     * 充电桩编码,ASCII编码
     */
    private String machineId = "";

    /**
     * 充电口号
     */
    private String interfaceNumber = "";

    /**
     * 流水单号
     */
    private String cpOrderId = "";

    /**
     * 用户卡号/用户识别号/VIN号,ASCII编码
     */
    private String userId = "";

    /**
     * TODO: 标准时间
     * 开始充电开始时间
     */
    private String startDateTime = "";

    /**
     * 充电前余额
     */
    private String beforeBalance = "";

    /**
     * 充电前电表读数
     * 0.01kwh
     */
    private String beforeMeterIndication = "";

    /**
     * 保留
     */
    private String reserve = "";

    /**
     * 充电启动方式
     * 0：本地刷卡启动
     * 1：后台启动
     * 2：本地管理员启动
     * 3：本地刷卡+车牌鉴权启动
     * 4：vin号鉴权启动
     */
    private String startMode = "";

    /**
     * 充电策略
     * 0自动充满
     * 1按时间充满
     * 2定金额
     * 3按电量充满
     */
    private String chargingPolicy = "";

    /**
     * 充电策略参数
     * 时间单位为1秒
     * 金额单位为0.01元
     * 电量时单位为0.01kw
     */
    private String policyParam = "";

    public String getMachineId() {
        return machineId;
    }

    public void setMachineId(String machineId) {
        this.machineId = machineId;
    }

    public String getInterfaceNumber() {
        return interfaceNumber;
    }

    public void setInterfaceNumber(String interfaceNumber) {
        this.interfaceNumber = interfaceNumber;
    }

    public String getCpOrderId() {
        return cpOrderId;
    }

    public void setCpOrderId(String cpOrderId) {
        this.cpOrderId = cpOrderId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getStartDateTime() {
        return startDateTime;
    }

    public void setStartDateTime(String startDateTime) {
        this.startDateTime = startDateTime;
    }

    public String getBeforeBalance() {
        return beforeBalance;
    }

    public void setBeforeBalance(String beforeBalance) {
        this.beforeBalance = beforeBalance;
    }

    public String getBeforeMeterIndication() {
        return beforeMeterIndication;
    }

    public void setBeforeMeterIndication(String beforeMeterIndication) {
        this.beforeMeterIndication = beforeMeterIndication;
    }

    public String getReserve() {
        return reserve;
    }

    public void setReserve(String reserve) {
        this.reserve = reserve;
    }

    public String getStartMode() {
        return startMode;
    }

    public void setStartMode(String startMode) {
        this.startMode = startMode;
    }

    public String getChargingPolicy() {
        return chargingPolicy;
    }

    public void setChargingPolicy(String chargingPolicy) {
        this.chargingPolicy = chargingPolicy;
    }

    public String getPolicyParam() {
        return policyParam;
    }

    public void setPolicyParam(String policyParam) {
        this.policyParam = policyParam;
    }
}
